package com.xncoding.freemarker.utile;

import com.google.common.io.Files;
import com.google.common.base.Charsets;
import java.io.File;
import java.io.IOException;

public class GuavaFilesExample {

    public static void main(String[] args) {
        // 使用Files.createTempFile方法创建一个临时文件
        File tempFile = null;
        try {
//            tempFile = Files.createTempFile("guava_example", ".txt");
            tempFile = new File("/Users/ligang/Desktop/desk/111.txt");
            System.out.println("临时文件已创建: " + tempFile.getAbsolutePath());

            // 使用Files.asCharSink方法向文件写入数据
            Files.asCharSink(tempFile, Charsets.UTF_8).write("这是一些示例文本.");
            System.out.println("数据已写入文件.");

            // 使用Files.asCharSource方法读取文件内容
            String content = Files.asCharSource(tempFile, Charsets.UTF_8).read();
            System.out.println("从文件中读取的内容: " + content);

            // 创建一个新文件用于复制操作
            File newFile = new File("/Users/ligang/Desktop/desk/new_guava_example.txt");

            // 使用Files.copy方法复制文件
            Files.copy(tempFile, newFile);
            System.out.println("文件已成功复制到: " + newFile.getAbsolutePath());

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 使用Files.delete方法删除文件
            if (tempFile != null && !tempFile.delete()) {
                System.out.println("临时文件删除失败.");
            } else {
                System.out.println("临时文件已成功删除.");
            }
        }
    }
}